{{tag>logiciels_pour_le_lycée calcul_numérique}}

----

====== Matplotlib ======

Bibliothèque Python permettant de réaliser des graphiques en 2D et 3D

\\ 

===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.

===== Installation =====
==== Depuis les dépôts ====

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://python-matplotlib|matplotlib]]**.

Ou par le terminal :
<code>
sudo apt-get install python-matplotlib</code>


===== Utilisation =====

Exemple d'utilisation (tiré de [[http://commons.wikimedia.org/wiki/File:Complex_arcsin_abs_01_Pengo.svg?uselang=fr|Wikipédia]]) :
Créer un fichier et y coller le code :
<file>
#!/usr/bin/env python
 
"""This generates four graphs for arcsin(z)."""
# Original: Peter Halasz. 2010-09-14
# Enhanced: Ika. 2013-07-23
 
import numpy as np
from pylab import *
from mpl_toolkits.mplot3d import Axes3D
 
graphs = {'abs':abs, 'real':real, 'imag':imag, 'angle':angle}
 
for gr in graphs:
        ax = Axes3D(figure(), azim = -135, elev = 45)
        X = arange(-2*pi, 2*pi, pi/12)
        Y = arange(-4, 4, .2)
        X, Y = meshgrid(X, Y)
        fn = graphs[gr]
        Z = fn(arcsin(X + Y*1j))  # abs, real, imag, angle. angle range [-pi, pi]
        ax.plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = cm.jet)
        ax.contour(X, Y, Z, zdir='z', offset=np.min(Z))
        ax.set_xlabel("x")
        ax.set_ylabel("y")
        ax.set_zlabel(gr + '(sin(x+iy))')
        plt.savefig("complex_arcsin_" + gr + "_01_Pengo.jpg")
</file>
\\ 
Sauvegarder et rendre le fichier exécutable.
Lancer le code, vous obtiendrez les figures suivantes :
\\ 
{{::python:matplotlib:complex_arcsin_abs_01_Pengo.jpg ?direct&200 |}}
{{ ::python:matplotlib:complex_arcsin_angle_01_Pengo.jpg?direct&200 |}}
{{::python:matplotlib:complex_arcsin_imag_01_Pengo.jpg ?direct&200 |}}
{{ ::python:matplotlib:complex_arcsin_real_01_Pengo.jpg?direct&200 |}}

===== Voir aussi =====
  * **[[Gnuplot]]**